<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>

<body>
    <script>
        1. concat 如果是一维数组就是深复制 如果包含的有对象就是浅复制
        2. JSON.parse(JSON.stringify()) 缺点是性能不好 里面碰到正则和函数 复制出来就是一个字符串object
        3.
        // 递归实现对象的深拷贝
        // 递归就是自身调用自身
        function deepcopy(obj) {
            let obj2 = {}; //保存拷贝之后的东西
            for (const key in obj) {
                // instanceof是判断数据类型的
                if (obj[key] instanceof Object) {
                    // console.log(obj[key]);
                    obj2[key] = deepcopy(obj[key]);
                    // console.log(obj2[key]);
                } else {
                    // console.log(obj[key]);
                    obj2[key] = obj[key];
                }
            }

            return obj2;
        }
        // 封装一个递归函数 把 要深复制的对象传进去  定义一个空对象保存复制之后的内容  循环传进来的对象  如果 是一个对象 那么就再进行一次 深复制 如果不是对象就 赋值给obj2 最后把obj2return出去
    </script>
</body>

</html>